Project
PBR Material Editor
Parker Ford, 2024
A real-time rendering application showcasing several physically based BRDF implementations, complete with flexible lighting and material configuration options.
[ GitHub, Video Demo, Download(1.52GB) ]
Features:
Physically Based BRDFs:
Includes implementations of several widely used physically based bidirectional reflectance distribution functions (BRDFs).
Lighting Support:
- Direct Lighting: Directional lights with color, intensity, and directional controls.
- Image Based Lighting: Prefiltered environment maps are used for computing both diffuse and specular lobes. Specular lobe is approximated using Brian Karis' Split Sum technique (see references).
User Interface:
- Tweak understandable material properties.
- Change lighting settings in real-time.
- Switch between different BRDF models, meshes, textures, and environments.
Currenly Implemented Material properties:
- Roughness
- Reflectance
- Diffuse Color
- Metallic
- Clearcoat
- Clearcoat Gloss
- Sheen
- Sheen Tint
- Subsurface
Roughness value increasing from 0-1:
Reflectance value increasing from 0-1:
Clearcoat value increasing from 0-1:
Metallic value increasing from 0-1:
Currenly Implemented Diffuse Models:
- Lambertian
- Hammon
- Disney
Diffuse models (left to right) Lambertian, Hammon, Diney:
Currenly Implemented Normal Distriubtion Functions:
- GGX
- Beckman
- Blinn Phong
NDFs (left to right) Blinn Phong, Beckman, GGX:
Currenly Implemented Geometry Attenuation Functions:
- Beckman
- GGX
- Schlick GGX
Texture Support For:
- Diffuse Mapping
- Normal Mapping
- Parallax Displacement Mapping
- Roughness Mapping
- Metallic Mapping
Resources:
- Real-Time Rendering 4th Edition - Tomas Akenine-Moller et al.
- Real Shading in Unreal Engine 4 - Brian Karis
- Image-based Lighting (IBL) of PBR Materials - Thorsten Thormählen
- Textures, Environments, and Mehses sources from polyhaven.com